iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0
AI Engineering

[ opencode ] 開源 AI coding agent系列 第 6

06-opencode | 上下文提供技巧:@ 引用、圖片與 prompt 心法

  • 分享至 

  • xImage
  •  

! 本篇文章將會介紹怎麼把上下文餵給 opencode,好的上下文讓 AI 少走一些冤枉路 :D

TL;DR: https://dev.benben.me/slides/s/ironman-06-context-tips

本篇目標

讀完這篇你會學到:

  • @ 引用的進階活用
  • 拖放圖片當參考(揭曉 Day 03 的測驗答案!)
  • 「帶 junior」的 prompt 心法

@ 引用:給範例,不要給形容詞

Day 03 提過 @ 可以 fuzzy search 引用檔案,檔案內容會自動加進對話。今天講進階活用——給範例檔當 reference

看 @packages/functions/src/notes.ts 裡 auth 是怎麼處理的,
在 @packages/functions/src/settings.ts 實作一樣的邏輯

這招超級好用。與其跟 AI 形容「我想要那種感覺的 code」,不如直接指給它看:「照這個抄」永遠比「聽我描述」準。帶 junior 也是這樣,給他看 good example 勝過講十分鐘原則。

注意:@ 要精準,不要貪心把整個資料夾都塞進去。context 太肥,AI 反而會失準——就像你給新人一次塞三十份文件,他也是直接放空。

圖片拖放:揭曉 Day 03 的答案

還記得 Day 03 的測驗嗎?「怎麼在對話中間塞一張圖片給 AI 看?」

答案:直接把圖片拖進 terminal(drag & drop),opencode 會掃描圖片內容加進 prompt,你也可以貼檔案的路徑給它。就是這麼簡單。

兩個實真場景:

  1. UI 對照:「新的設定頁照這張設計稿做」(拖一張 Figma 截圖)
  2. Error 直問:懶得複製那串奇怪的錯誤訊息?截圖直接拖進去問

小知識:opencode 會自動處理圖片大小——超過 2000×2000 或太大會被縮放,不用自己開修圖軟體。

Prompt 心法:帶 junior 三原則

原則一:給足細節(目標、範圍、限制)

反例與正例直接對照:

反例 正例
幫我修 bug 這個 function 在 input 是 null 時會炸(TypeError),幫我加防禦處理並補上測試
優化這段 code 這個 API endpoint 平均回應 2 秒,瓶頸疑似在 N+1 query,幫我找出來修掉
加個功能 參考 Day 05 那個刪除筆記的需求寫法:目標、範圍、行為都講清楚

差別在哪?正例給了症狀、線索、期望行為——AI 不用猜,直接對症下藥。

原則二:給範例

@ 引用既有 code 當 reference(上面講過了)。你的 codebase 裡最好的文件,就是已經存在的 good example。

原則三:分階段

大工程先 Plan mode 對齊再 Build(Day 05),不要一股腦把十個需求塞進同一個 prompt——AI 會做,但每個都做一半。

加碼:兩個好用的上下文隊友

  • ! 跑 bash(Day 03):!git log --oneline -5 的輸出會進對話,讓 AI 看到現場
  • /editor:落落長的 prompt 開外部編輯器寫,比在輸入框改字舒服太多

小小測驗:你的需求講得再清楚,AI 還是會錯意——這時候第一反應應該是什麼?
答案:不是罵它笨,是檢查自己給的上下文。九成的「AI 做錯」,回頭看都是「人沒講清楚」。

常見問題 / 踩坑記錄

  • Q:圖片有格式限制嗎?
    A:常見的截圖格式都能吃,太大的圖會自動縮放(超過 2000×2000 或 5MB 等級會被處理)。
  • Q:@ 了檔案 AI 還是改錯地方?
    A:通常是指得不夠精確,或需求描述有歧義,或是直接跟它說在哪幾行。把「不要動什麼」也講清楚,例如「只改這個 function,其他檔案不要碰」。

小結

  • 上下文三寶:@ 精準引用、圖片拖放、清楚的目標描述
  • 給範例不要給形容詞:「照這個抄」勝過「聽我描述」
  • AI 做錯時,先檢查自己給的上下文

明日預告

Day 07:/undo/redo——有安全網,你才敢讓 AI 盡情發揮。


參考資料:


有任何疑問但沒有 iT 邦幫忙帳號,或是想匿名提問?
歡迎到 https://dev.benben.me/q/P3C5U6 提問或加油打氣,沒意外的話會在完賽之後一起回答 :D


上一篇
05-opencode | Plan mode vs Build mode:先規劃再動手
下一篇
07-opencode | /undo 與 /redo:放心讓 AI 動手的安全網
系列文
[ opencode ] 開源 AI coding agent8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言